\doxysection{C\+:/\+Users/\+ASUS/\+Desktop/dm-\/ctrl\+H7-\/balance-\/9025test/\+Middlewares/\+Third\+\_\+\+Party/\+Free\+RTOS/\+Source/include/atomic.h File Reference}
\hypertarget{atomic_8h}{}\label{atomic_8h}\index{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Middlewares/Third\_Party/FreeRTOS/Source/include/atomic.h@{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Middlewares/Third\_Party/FreeRTOS/Source/include/atomic.h}}


Free\+RTOS atomic operation support.  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{atomic_8h_a155d89b2444fe81cbc8d051f0fd849c9}{ATOMIC\+\_\+\+ENTER\+\_\+\+CRITICAL}}()
\item 
\#define \mbox{\hyperlink{atomic_8h_a1aab48db50f9e59e44032386aa3eb5b8}{ATOMIC\+\_\+\+EXIT\+\_\+\+CRITICAL}}()
\item 
\Hypertarget{atomic_8h_aaa356ca7932487d20a42d6839842d308}\label{atomic_8h_aaa356ca7932487d20a42d6839842d308} 
\#define {\bfseries port\+FORCE\+\_\+\+INLINE}
\item 
\#define \mbox{\hyperlink{atomic_8h_a2d30f083e50b866caf8822ec31a75969}{ATOMIC\+\_\+\+COMPARE\+\_\+\+AND\+\_\+\+SWAP\+\_\+\+SUCCESS}}~0x1U
\item 
\#define \mbox{\hyperlink{atomic_8h_ab374919fbdbc585c3436a94f5bad31b6}{ATOMIC\+\_\+\+COMPARE\+\_\+\+AND\+\_\+\+SWAP\+\_\+\+FAILURE}}~0x0U
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Free\+RTOS atomic operation support. 

This file implements atomic functions by disabling interrupts globally. Implementations with architecture specific atomic instructions can be provided under each compiler directory. 

\label{doc-define-members}
\Hypertarget{atomic_8h_doc-define-members}
\doxysubsection{Macro Definition Documentation}
\Hypertarget{atomic_8h_ab374919fbdbc585c3436a94f5bad31b6}\index{atomic.h@{atomic.h}!ATOMIC\_COMPARE\_AND\_SWAP\_FAILURE@{ATOMIC\_COMPARE\_AND\_SWAP\_FAILURE}}
\index{ATOMIC\_COMPARE\_AND\_SWAP\_FAILURE@{ATOMIC\_COMPARE\_AND\_SWAP\_FAILURE}!atomic.h@{atomic.h}}
\doxysubsubsection{\texorpdfstring{ATOMIC\_COMPARE\_AND\_SWAP\_FAILURE}{ATOMIC\_COMPARE\_AND\_SWAP\_FAILURE}}
{\footnotesize\ttfamily \label{atomic_8h_ab374919fbdbc585c3436a94f5bad31b6} 
\#define ATOMIC\+\_\+\+COMPARE\+\_\+\+AND\+\_\+\+SWAP\+\_\+\+FAILURE~0x0U}

Compare and swap failed, did not swap. \Hypertarget{atomic_8h_a2d30f083e50b866caf8822ec31a75969}\index{atomic.h@{atomic.h}!ATOMIC\_COMPARE\_AND\_SWAP\_SUCCESS@{ATOMIC\_COMPARE\_AND\_SWAP\_SUCCESS}}
\index{ATOMIC\_COMPARE\_AND\_SWAP\_SUCCESS@{ATOMIC\_COMPARE\_AND\_SWAP\_SUCCESS}!atomic.h@{atomic.h}}
\doxysubsubsection{\texorpdfstring{ATOMIC\_COMPARE\_AND\_SWAP\_SUCCESS}{ATOMIC\_COMPARE\_AND\_SWAP\_SUCCESS}}
{\footnotesize\ttfamily \label{atomic_8h_a2d30f083e50b866caf8822ec31a75969} 
\#define ATOMIC\+\_\+\+COMPARE\+\_\+\+AND\+\_\+\+SWAP\+\_\+\+SUCCESS~0x1U}

Compare and swap succeeded, swapped. \Hypertarget{atomic_8h_a155d89b2444fe81cbc8d051f0fd849c9}\index{atomic.h@{atomic.h}!ATOMIC\_ENTER\_CRITICAL@{ATOMIC\_ENTER\_CRITICAL}}
\index{ATOMIC\_ENTER\_CRITICAL@{ATOMIC\_ENTER\_CRITICAL}!atomic.h@{atomic.h}}
\doxysubsubsection{\texorpdfstring{ATOMIC\_ENTER\_CRITICAL}{ATOMIC\_ENTER\_CRITICAL}}
{\footnotesize\ttfamily \label{atomic_8h_a155d89b2444fe81cbc8d051f0fd849c9} 
\#define ATOMIC\+\_\+\+ENTER\+\_\+\+CRITICAL(\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{portENTER\_CRITICAL()}

\end{DoxyCode}
\Hypertarget{atomic_8h_a1aab48db50f9e59e44032386aa3eb5b8}\index{atomic.h@{atomic.h}!ATOMIC\_EXIT\_CRITICAL@{ATOMIC\_EXIT\_CRITICAL}}
\index{ATOMIC\_EXIT\_CRITICAL@{ATOMIC\_EXIT\_CRITICAL}!atomic.h@{atomic.h}}
\doxysubsubsection{\texorpdfstring{ATOMIC\_EXIT\_CRITICAL}{ATOMIC\_EXIT\_CRITICAL}}
{\footnotesize\ttfamily \label{atomic_8h_a1aab48db50f9e59e44032386aa3eb5b8} 
\#define ATOMIC\+\_\+\+EXIT\+\_\+\+CRITICAL(\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{portEXIT\_CRITICAL()}

\end{DoxyCode}
